package com.firebird.app.fekpsl.mvp.home

import com.firebird.app.fekpsl.mvp.common.CommonContract
import com.firebird.app.fekpsl.bean.Banner
import com.firebird.app.fekpsl.bean.HttpResult
import com.firebird.app.fekpsl.bean.WallResponseBody
import io.reactivex.Observable
/**
 * Created by firebird on 2018/4/21.
 */
interface HomeContract {

    interface View : CommonContract.View {

        fun setBanner(banners: List<Banner>)

        fun setWallList(walls: WallResponseBody)

    }

    interface Presenter : CommonContract.Presenter<View> {

        fun requestBanner()
        fun requestHomeData()
        fun requestWallList(pageNo: Int,userUuid:String)

    }

    interface Model : CommonContract.Model {

        fun requestBanner(): Observable<HttpResult<List<Banner>>>

        fun requestWallList(pageNo: Int,userUuid: String): Observable<HttpResult<WallResponseBody>>
    }

}